/**
 * 给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素,你可以按任意顺序返回答案
 * 示例1:
 *  输入: nums = [1, 1, 1, 2, 2, 3], k = 2;
 *  输出: [1, 2]
 * 示例2:
 *  输入: nums = [1], k = 1
 *  输出: [1]
*/
function topKFrequent (nums, k) {
    // 先设置map表
    const map = new Map();
    nums.forEach((item, index) => {
        if (!map.get(item)) {
            map.set(item, 1)
        } else {
            map.set(item, map.get(item) + 1);
        }
    });
    // 根据map表进行排序
    const arr = [...map.keys() ]
    return arr.sort((a, b) => map.get(b) - map.get(a)).slice(0, k);
}

console.log(topKFrequent([2, 1, 1, 1, 3, 2], 2));
console.log(topKFrequent([1], 1));